﻿#include "plcdl.h"
#include "ui_plcdl.h"

PlcDl::PlcDl(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::PlcDl)
{
    ui->setupUi(this);
    this->move(0,58);
    setWindowFlags(Qt::FramelessWindowHint|Qt::WindowMinimizeButtonHint);
    QRegExp rx1("^?(20|[0-1]?\\d(\\.\\d{1})?)$");
    QRegExp rx2("^?(50|[0-4]?\\d(\\.\\d{1})?)$");
    QRegExpValidator *pReg1 = new QRegExpValidator(rx1, this);
    QRegExpValidator *pReg2 = new QRegExpValidator(rx2, this);
    ui->lineEdit_11->setPlaceholderText("1-10");
    ui->lineEdit_12->setPlaceholderText("22.5");
    ui->lineEdit_13->setPlaceholderText("4.5");
    ui->lineEdit_11->setValidator(pReg1);
    ui->lineEdit_12->setValidator(pReg2);
    ui->lineEdit_13->setValidator(pReg1);
}

PlcDl::~PlcDl()
{
    delete ui;
}

void PlcDl::on_switchBt_1_clicked()
{
    emit changeDlg(1);
}

void PlcDl::on_switchBt_2_clicked()
{
    emit changeDlg(2);
}

void PlcDl::on_switchBt_3_clicked()
{
    emit changeDlg(3);
}

void PlcDl::on_switchBt_4_clicked()
{
    emit changeDlg(4);
}

void PlcDl::on_out_1_1_clicked()
{   //拍照
    if(m_nOut_1_1)
    {
        ui->out_1_1->setStyleSheet("border-image: url(:/png/imge/plc/start_03.png);");
    }else{
        ui->out_1_1->setStyleSheet("border-image: url(:/png/imge/plc/stop_03.png);");
    }
    m_nOut_1_1 = 1 - m_nOut_1_1;
    emit sigWdPlc(QGRAP1);
}

void PlcDl::on_out_1_2_clicked()
{
    if(m_nOut_1_2)
    {
        ui->out_1_2->setStyleSheet("border-image: url(:/png/imge/plc/start_03.png);");
    }else{
        ui->out_1_2->setStyleSheet("border-image: url(:/png/imge/plc/stop_03.png);");
    }
    m_nOut_1_2 = 1 - m_nOut_1_2;
    emit sigWdPlc(QGRAP2);
}

void PlcDl::on_out_1_3_clicked()
{
    if(m_nOut_1_3)
    {
        ui->out_1_3->setStyleSheet("border-image: url(:/png/imge/plc/start_03.png);");
    }else{
        ui->out_1_3->setStyleSheet("border-image: url(:/png/imge/plc/stop_03.png);");
    }
    m_nOut_1_3 = 1 - m_nOut_1_3;
    emit sigWdPlc(QGRAP3);
}

void PlcDl::on_out_1_4_clicked()
{
    if(m_nOut_1_4)
    {
        ui->out_1_4->setStyleSheet("border-image: url(:/png/imge/plc/start_03.png);");
    }else{
        ui->out_1_4->setStyleSheet("border-image: url(:/png/imge/plc/stop_03.png);");
    }
    m_nOut_1_4 = 1 - m_nOut_1_4;
    emit sigWdPlc(QGRAP4);
}

void PlcDl::on_out_2_1_clicked()
{
    if(m_nOut_2_1)
    {
        ui->out_2_1->setStyleSheet("border-image: url(:/png/imge/plc/start_05.png);");
    }else{
        ui->out_2_1->setStyleSheet("border-image: url(:/png/imge/plc/stop_05.png);");
    }
    m_nOut_2_1 = 1 - m_nOut_2_1;
    emit sigWdPlc(QPULSE1);
}

void PlcDl::on_out_2_2_clicked()
{
    if(m_nOut_2_2)
    {
        ui->out_2_2->setStyleSheet("border-image: url(:/png/imge/plc/start_05.png);");
    }else{
        ui->out_2_2->setStyleSheet("border-image: url(:/png/imge/plc/stop_05.png);");
    }
    m_nOut_2_2 = 1 - m_nOut_2_2;
    emit sigWdPlc(QDIRECTION1);
}

void PlcDl::on_out_2_3_clicked()
{
    if(m_nOut_2_3)
    {
        ui->out_2_3->setStyleSheet("border-image: url(:/png/imge/plc/start_05.png);");
    }else{
        ui->out_2_3->setStyleSheet("border-image: url(:/png/imge/plc/stop_05.png);");
    }
    m_nOut_2_3 = 1 - m_nOut_2_3;
    emit sigWdPlc(QENABLED1);
}

void PlcDl::on_out_3_1_clicked()
{
    if(m_nOut_3_1)
    {
        ui->out_3_1->setStyleSheet("border-image: url(:/png/imge/plc/start_15.png);");
    }else{
        ui->out_3_1->setStyleSheet("border-image: url(:/png/imge/plc/stop_15.png);");
    }
    m_nOut_3_1 = 1 - m_nOut_3_1;
    emit sigWdPlc(QNG1OUTAIR);
}

void PlcDl::on_out_3_2_clicked()
{
    if(m_nOut_3_2)
    {
        ui->out_3_2->setStyleSheet("border-image: url(:/png/imge/plc/start_15.png);");
    }else{
        ui->out_3_2->setStyleSheet("border-image: url(:/png/imge/plc/stop_15.png);");
    }
    m_nOut_3_2 = 1 - m_nOut_3_2;
    emit sigWdPlc(QNG2OUTAIR);
}

void PlcDl::on_out_3_3_clicked()
{
    if(m_nOut_3_3)
    {
        ui->out_3_3->setStyleSheet("border-image: url(:/png/imge/plc/start_15.png);");
    }else{
        ui->out_3_3->setStyleSheet("border-image: url(:/png/imge/plc/stop_15.png);");
    }
    m_nOut_3_3 = 1 - m_nOut_3_3;
    emit sigWdPlc(QOKOUTAIR);
}

void PlcDl::on_out_4_1_clicked()
{
    if(m_nOut_4_1)
    {
        ui->out_4_1->setStyleSheet("border-image: url(:/png/imge/plc/start_07.png);");
    }else{
        ui->out_4_1->setStyleSheet("border-image: url(:/png/imge/plc/stop_07.png);");
    }
    m_nOut_4_1 = 1 - m_nOut_4_1;
    emit sigWdPlc(QPULSE2);
}

void PlcDl::on_out_4_2_clicked()
{
    if(m_nOut_4_2)
    {
        ui->out_4_2->setStyleSheet("border-image: url(:/png/imge/plc/start_07.png);");
    }else{
        ui->out_4_2->setStyleSheet("border-image: url(:/png/imge/plc/stop_07.png);");
    }
    m_nOut_4_2 = 1 - m_nOut_4_2;
    emit sigWdPlc(QDIRECTION2);
}

void PlcDl::on_out_4_3_clicked()
{
    if(m_nOut_4_3)
    {
        ui->out_4_3->setStyleSheet("border-image: url(:/png/imge/plc/start_07.png);");
    }else{
        ui->out_4_3->setStyleSheet("border-image: url(:/png/imge/plc/stop_07.png);");
    }
    m_nOut_4_3 = 1 - m_nOut_4_3;
    emit sigWdPlc(QENABLED2);
}

void PlcDl::on_out_5_1_clicked()
{
    if(m_nOut_5_1)
    {
        ui->out_5_1->setStyleSheet("border-image: url(:/png/imge/plc/start_16.png);");
    }else{
        ui->out_5_1->setStyleSheet("border-image: url(:/png/imge/plc/stop_16.png);");
    }
    m_nOut_5_1 = 1 - m_nOut_5_1;
    emit sigWdPlc(QLIGHTG);
}

void PlcDl::on_out_5_2_clicked()
{
    if(m_nOut_5_2)
    {
        ui->out_5_2->setStyleSheet("border-image: url(:/png/imge/plc/start_16.png);");
    }else{
        ui->out_5_2->setStyleSheet("border-image: url(:/png/imge/plc/stop_16.png);");
    }
    m_nOut_5_2 = 1 - m_nOut_5_2;
    emit sigWdPlc(QLIGHTY);
}

void PlcDl::on_out_5_3_clicked()
{
    if(m_nOut_5_3)
    {
        ui->out_5_3->setStyleSheet("border-image: url(:/png/imge/plc/start_16.png);");
    }else{
        ui->out_5_3->setStyleSheet("border-image: url(:/png/imge/plc/stop_16.png);");
    }
    m_nOut_5_3 = 1 - m_nOut_5_3;
    emit sigWdPlc(QLIGHTR);
}

void PlcDl::on_out_6_1_clicked()
{
    if(m_nOut_6_1)
    {
        ui->out_6_1->setStyleSheet("border-image: url(:/png/imge/plc/start_09.png);");
    }else{
        ui->out_6_1->setStyleSheet("border-image: url(:/png/imge/plc/stop_09.png);");
    }
    m_nOut_6_1 = 1 - m_nOut_6_1;
    emit sigWdPlc(QPLATE);
}

void PlcDl::on_out_6_2_clicked()
{
    if(m_nOut_6_2)
    {
        ui->out_6_2->setStyleSheet("border-image: url(:/png/imge/plc/start_09.png);");
    }else{
        ui->out_6_2->setStyleSheet("border-image: url(:/png/imge/plc/stop_09.png);");
    }
    m_nOut_6_2 = 1 - m_nOut_6_2;
    emit sigWdPlc(QINAIR);
}

void PlcDl::on_out_6_3_clicked()
{
    if(m_nOut_6_3)
    {
        ui->out_6_3->setStyleSheet("border-image: url(:/png/imge/plc/start_09.png);");
    }else{
        ui->out_6_3->setStyleSheet("border-image: url(:/png/imge/plc/stop_09.png);");
    }
    m_nOut_6_3 = 1 - m_nOut_6_3;
    emit sigWdPlc(QLINE);
}


void PlcDl::on_confirmBt_2_clicked()
{
    // NG1
    QString qstr = ui->lineEdit_2->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(POSITION_NG1);
    }
}

void PlcDl::on_confirmBt_3_clicked()
{
    // NG2
    QString qstr = ui->lineEdit_3->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(POSITION_NG2);
    }
}

void PlcDl::on_confirmBt_4_clicked()
{
    // OK
    QString qstr = ui->lineEdit_4->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(POSITION_OK);
    }
}

void PlcDl::on_confirmBt_5_clicked()
{
    // 相机1
    QString qstr = ui->lineEdit_5->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(POSITION_1);
    }
}

void PlcDl::on_confirmBt_6_clicked()
{
    // 相机2
    QString qstr = ui->lineEdit_6->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(POSITION_2);
    }
}

void PlcDl::on_confirmBt_7_clicked()
{
    // 相机3
    QString qstr = ui->lineEdit_7->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(POSITION_3);
    }
}

void PlcDl::on_confirmBt_8_clicked()
{
    // 相机4
    QString qstr = ui->lineEdit_8->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(POSITION_4);
    }
}


void PlcDl::on_confirmBt_11_clicked()
{
    // set 玻璃盘转速
    QString qstr = ui->lineEdit_11->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(PLATEREV);
    }
}

void PlcDl::on_confirmBt_12_clicked()
{
    // set 玻璃盘转比
    QString qstr = ui->lineEdit_12->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(MOTORRATION1);
    }
}

void PlcDl::on_confirmBt_13_clicked()
{
    // set 上料电机转比
    QString qstr = ui->lineEdit_13->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(MOTORRATION2);
    }
}

void PlcDl::on_confirmBt_14_clicked()
{
    // 报警时间
    QString qstr = ui->lineEdit_14->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(WARN);
    }
}

void PlcDl::on_confirmBt_15_clicked()
{
    // set 吹倒料时间
    QString qstr = ui->lineEdit_15->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(ERROR_TIME);
    }
}

void PlcDl::on_confirmBt_16_clicked()
{
    // set 吹倒料阀位置
    QString qstr = ui->lineEdit_16->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(ERROR_SITE);
    }
}

void PlcDl::on_confirmBt_17_clicked()
{
    // set 停机延时时间
    QString qstr = ui->lineEdit_17->text();
    if(!qstr.isEmpty()){
        emit sigWdPlc(STOP_TIME);
    }
}



void PlcDl::on_coderBt_clicked()
{   // get 编码器
    if(!m_bModel){
        emit sigRdPlc(OPTICAL);
    }
}


void PlcDl::on_Bt_GetInfo_1_clicked()
{
    // get NG1位置
    if(!m_bModel){
        emit sigRdPlc(POSITION_NG1);
    }
}

void PlcDl::on_Bt_GetInfo_2_clicked()
{
    // get NG2位置
    if(!m_bModel){
        emit sigRdPlc(POSITION_NG2);
    }
}

void PlcDl::on_Bt_GetInfo_3_clicked()
{
    // get ok位置
    if(!m_bModel){
        emit sigRdPlc(POSITION_OK);
    }
}

void PlcDl::on_Bt_GetInfo_4_clicked()
{
    // get 玻璃盘转速
    if(!m_bModel){
        emit sigRdPlc(PLATEREV);
    }

}

void PlcDl::on_Bt_GetInfo_5_clicked()
{
    // get 玻璃盘转比
    if(!m_bModel){
        emit sigRdPlc(MOTORRATION1);
    }

}

void PlcDl::on_Bt_GetInfo_6_clicked()
{
    // get 上料电机转比
    if(!m_bModel){
        emit sigRdPlc(MOTORRATION2);
    }
}

void PlcDl::on_Bt_GetInfo_7_clicked()
{
    // get 相机1位置
    if(!m_bModel){
        emit sigRdPlc(POSITION_1);
    }
}

void PlcDl::on_Bt_GetInfo_8_clicked()
{
    // get 相机2位置
    if(!m_bModel){
        emit sigRdPlc(POSITION_2);
    }
}

void PlcDl::on_Bt_GetInfo_9_clicked()
{
    // get 相机3位置
    if(!m_bModel){
        emit sigRdPlc(POSITION_3);
    }
}

void PlcDl::on_Bt_GetInfo_10_clicked()
{
    // get 相机4位置
    if(!m_bModel){
        emit sigRdPlc(POSITION_4);
    }
}

void PlcDl::on_Bt_GetInfo_13_clicked()
{
    // get 预警时间
    if(!m_bModel){
        emit sigRdPlc(WARN);
    }
}

void PlcDl::on_Bt_GetInfo_14_clicked()
{
    // get 吹倒料时间
    if(!m_bModel){
        emit sigRdPlc(ERROR_TIME);
    }
}

void PlcDl::on_Bt_GetInfo_15_clicked()
{
    // get 吹倒料位置
    if(!m_bModel){
        emit sigRdPlc(ERROR_SITE);
    }

}

void PlcDl::on_Bt_GetInfo_16_clicked()
{
    // get 停机延时时间
    if(!m_bModel){
        emit sigRdPlc(STOP_TIME);
    }
}
